﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Carozos.BE;
using Carozos.BC;

namespace Carozos.Web
{
    public partial class frmInsumo : System.Web.UI.Page
    {
        InsumoBC inBC = new InsumoBC();
  
        protected void Page_Load(object sender, EventArgs e)
        {
            //Sesión que nos permite reconocer de que formulario viene el llamado a la busqueda
            Session["codFrmInsumo"] = 1;

            //Sesión que tiene datos del insumo.
            if (Session["insumo"] != null)
            {
                InsumoBE insumo = Session["insumo"] as InsumoBE;
                //Sesión que tiene el codigo del insumo.
                Session["codInsumo"] = insumo.codigo;
                txtNombre.Text = insumo.nombre;
                txtComentario.Text = insumo.comentario;
                if (insumo.marca == " ")
                {
                    cbSinMarca.Checked = true;
                    txtMarca.Text = " ";
                    txtMarca.Enabled = false;
                }
                if(insumo.marca!=" ")
                {
                    cbSinMarca.Checked = false;
                    txtMarca.Text = insumo.marca;
                    txtMarca.Enabled = true;
                }
                Session["insumo"] = null;
            }
        }

        public void limpiar()
        {
            txtComentario.Text = "";
            txtMarca.Text = "";
            txtNombre.Text = "";
            lblMensaje.Visible = false;
        }
 
        protected void btnRegistra_Click(object sender, ImageClickEventArgs e)
        {
            bool rpta;
            InsumoBE inBE;
            if (cbSinMarca.Checked)
                inBE= new InsumoBE(txtNombre.Text," ", txtComentario.Text);
            else
                inBE = new InsumoBE(txtNombre.Text, txtMarca.Text, txtComentario.Text);
            rpta = inBC.registrarInsumo(inBE);
            if (rpta == true)
                lblMensaje.Text = "Insumo Registrado !!";
            else
                lblMensaje.Text = "Ocurrió un Problema !!";
            lblMensaje.Visible = true;
        }

        protected void cbSinMarca_CheckedChanged(object sender, EventArgs e)
        {
            if (cbSinMarca.Checked)
            {
                lblMarca.Enabled = false;
                txtMarca.Enabled = false;
            }
            else
            {
                lblMarca.Enabled = true;
                txtMarca.Enabled = true;
            }
            limpiar();
        }

        protected void btnActualiza_Click(object sender, ImageClickEventArgs e)
        {
            if (Session["codInsumo"] != null)
            {
                bool rpta;
                InsumoBE inBE;
                if (cbSinMarca.Checked)
                    inBE = new InsumoBE(txtNombre.Text, " ", txtComentario.Text);
                else
                    inBE = new InsumoBE(txtNombre.Text, txtMarca.Text, txtComentario.Text);
                inBE.codigo = (int)Session["codInsumo"];
                rpta = inBC.actualizarInsumo(inBE);
                if (rpta == true)
                    lblMensaje.Text = "Insumo Actualizado !!";
                else
                    lblMensaje.Text = "Ocurrió un Problema !!";
                lblMensaje.Visible = true;
            }
        }

        protected void btnElimina_Click(object sender, ImageClickEventArgs e)
        {
            if (Session["codInsumo"] != null)
            {
                bool rpta;
                rpta = inBC.eliminaInsumo((int)Session["codInsumo"]);
                if (rpta == true)
                    lblMensaje.Text = "Insumo Eliminado !!";
                else
                    lblMensaje.Text = "Ocurrió un Problema !!";
                limpiar();
                lblMensaje.Visible = true;
            }
        }
    }
}